LEADTOOLS Forms (Leadtools.Forms.Auto assembly)
LEAD Technologies, Inc

AutoFormsEngine Constructor(IMasterFormsRepository,List<IOcrEngine>,BarcodeEngine)

Example 





Repository for the Master Forms.
List of Leadtools.Forms.Ocr.IOcrEngine that are used for optical character recognition and processing. The size of the list specifies the number of threads to be used in AutoFormsEngine.
The Leadtools.Barcode.BarcodeEngine that is used for barcode recognition and processing.
Initializes a new AutoFormsEngine class object that uses multi-threading to perform AutoFormsEngine functions such as recognition and processing.
Syntax
'Declaration
 
Public Function New( _
   ByVal repository As IMasterFormsRepository, _
   ByVal ocrEngines As List(Of IOcrEngine), _
   ByVal barcodeEngine As BarcodeEngine _
)
'Usage
 
Dim repository As IMasterFormsRepository
Dim ocrEngines As List(Of IOcrEngine)
Dim barcodeEngine As BarcodeEngine
 
Dim instance As New AutoFormsEngine(repository, ocrEngines, barcodeEngine)
function AutoFormsEngine( 
   repository ,
   ocrEngines ,
   barcodeEngine 
)

Parameters

repository
Repository for the Master Forms.
ocrEngines
List of Leadtools.Forms.Ocr.IOcrEngine that are used for optical character recognition and processing. The size of the list specifies the number of threads to be used in AutoFormsEngine.
barcodeEngine
The Leadtools.Barcode.BarcodeEngine that is used for barcode recognition and processing.
Remarks

It is the user's responsibility to dispose of this object when it is no longer needed by calling Dispose.

ocrEngines should be provided. If it is null, an exception is thrown.

If barcodeEngine is null, Leadtools.Forms.Recognition.Barcode.BarcodeObjectsManager will not be used for recognition and Leadtools.Forms.Processing.BarcodeFormField will not be processed.

The MinimumConfidenceRecognized is set to 90, MinimumConfidenceKnownForm is set to 30, and RecognizeFirstPageOnly is set to false.

The recognition Object Managers will be set to the managers used to generate the Master Forms in the repository.

To implement your own multiple thread or to not use threads use AutoFormsEngine(IMasterFormsRepository repository, List<IOcrEngine> ocrEngines, BarcodeEngine barcodeEngine).

Using Multiple threads is recommended since it speeds up form recognition and processing.

Example
 
Public Sub AutoFormRunThreadAuto()
      Dim filesNames As List(Of String) = New List(Of String)()
      filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\Images\FCC-107_OCR_Filled.tif"))

      Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "Forms\MasterForm Sets\OCR_ICR")
      Dim codecs As RasterCodecs = New RasterCodecs()
      'create repository
      Dim repository As DiskMasterFormsRepository = New DiskMasterFormsRepository(codecs, root)
      Dim ocrEngines As List(Of IOcrEngine) = New List(Of IOcrEngine)()
      Dim ocrEngine As IOcrEngine
      'creates four threads
      For i As Integer = 0 To 3
         ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, True)
         ocrEngine.Startup(Nothing, Nothing, Nothing, Nothing)
         ocrEngines.Add(ocrEngine)
      Next i

      Dim engineBarcode As BarcodeEngine = New BarcodeEngine()
      'create AutoForm Engine
      Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngines, engineBarcode)

      Try
         For Each formFileName As String In filesNames
            'recognize and process the form
            Dim result As AutoFormsRunResult = autoEngine.Run(formFileName, Nothing)
         Next formFileName
      Finally
         autoEngine.Dispose()
         For Each engine As IOcrEngine In ocrEngines
            engine.Shutdown()
            engine.Dispose()
         Next engine
         ocrEngines.Clear()
      End Try
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void AutoFormRunThreadAuto()
   {
      List<string> filesNames = new List<string>();
      filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\\Images\\FCC-107_OCR_Filled.tif"));

      string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\MasterForm Sets\OCR_ICR");
      RasterCodecs codecs = new RasterCodecs();
      //create repository
      DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
      List<IOcrEngine> ocrEngines = new List<IOcrEngine>();
      IOcrEngine ocrEngine;
      //creates four threads
      for(int i = 0; i < 4; i++)
      {
         ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, true);
         ocrEngine.Startup(null, null, null, null);
         ocrEngines.Add(ocrEngine);
      }

      BarcodeEngine barcodeEngine = new BarcodeEngine();
      //create AutoForm Engine
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngines, barcodeEngine);

      try
      {
         foreach(string formFileName in filesNames)
         {
            //recognize and process the form
            AutoFormsRunResult result = autoEngine.Run(formFileName, null);
         }
      }
      finally
      {
         autoEngine.Dispose();
         foreach(IOcrEngine engine in ocrEngines)
         {
            engine.Shutdown();
            engine.Dispose();
         }
         ocrEngines.Clear();
      }
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

AutoFormsEngine Class
AutoFormsEngine Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Forms requires a Forms Module license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features